package com.dhcc.core.framework.beetl.format;

import com.dhcc.core.framework.util.CommonUtil;
import org.apache.commons.lang.StringEscapeUtils;
import org.beetl.core.Format;

/**
 * @Author wanqiang
 * @Date 2020-03-11
 * Beetl模板处理前端页面中的跨站攻击类代码脚本
 * 使用方法 ${a,xss}
 */
public class BeetlXSSFormat implements Format {
    /**
     *
     * @param data
     * @param pattern
     * @return
     */
    @Override
    public Object format(Object data, String pattern) {
        //简单的滤过HTML以及javascript内容
        if(CommonUtil.isNotEmpty(data)){
            String result = StringEscapeUtils.escapeHtml(data.toString());
            result = StringEscapeUtils.escapeJavaScript(result);
            return result;
        }
        return null;
    }
}
